libxl: suppress device assignment to HVM guest when there is no IOMMU
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 1 Jul 2013 14:20:28 +0000 (15:20 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 1 Jul 2013 14:20:28 +0000 (15:20 +0100)
commit826eb17271d3c647516d9944c47b0779afedea25
tree71424308841e6b461b7c366e40c2afb4a0eaf617
parentbcb49301c21ed69b4e8c164fa215efe9db30621a
libxl: suppress device assignment to HVM guest when there is no IOMMU

This in effect copies similar logic from xend: While there's no way to
check whether a device is assigned to a particular guest,
XEN_DOMCTL_test_assign_device at least allows checking whether an
IOMMU is there and whether a device has been assign to _some_
guest.

For the time being, this should be enough to cover for the missing
error checking/recovery in other parts of libxl's device assignment
paths.

There remains a (functionality-, but not security-related) race in
that the iommu should be set up earlier, but this is too risky a
change for this stage of the 4.3 release.

This is a security issue, XSA-61.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/libxl_pci.c